<!-- 批量弹窗 -->

<template>
  <WebModal path="multi" title="批量处理" small :onSubmit="toSave">
    <WebForm path="multi">
      <FormInput label="设备厂商" bind="manufacturerName" tip="请输入 (为空不更新)" />

      <FormInput label="设备型号" bind="model" tip="请输入 (为空不更新)" />

      <FormTree :label="`所在${CORE.MAP.REGION}`" bind="areaId, areaName" :dict="CORE.REGION.DICT" allName required />

      <FormSelectMulti label="设备标签" bind="tagIdList" :dict="tagDict" @change="changeTag" />
    </WebForm>
  </WebModal>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import FormSync from '@admin/views/System/IOT/IOTList/MyModal/FormSync'

const areaTip = `批量修改${CORE.MAP.REGION}，将清除打点数据，需重新在地图上打点`

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'MultiModal',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb('multi')],

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 设备标签字典
     */
    tagDict: FormSync.computed.tagDict,
  },

  /**
   * 本地方法 (轻量重要在前)
   */
  methods: {
    /**
     * 切换标签
     */
    changeTag: FormSync.methods.changeTag,

    /**
     * 保存
     */
    async toSave() {
      await this.refForm.check()

      if (CORE.MAP.MAP_SAME_AREA) await CORE.CONFIRM.warning(areaTip, '地图绑定')

      this.startEdit()
    },
  },
}
</script>
